package com.bajiao.entity.store;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.validation.constraints.NotBlank;

/**
 * @Description: 店铺申请表
 * @Author: FanJq
 * @Date:   2024-12-24
 * @Version: V1.0
 */
@Data
@TableName("tb_store_apply")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="tb_store_apply对象", description="店铺申请表")
public class StoreApply {

	/**主键*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键", required = true, position = 0)
	private String id;
	/**1-个人 2-企业*/
	@Excel(name = "1-个人 2-企业", width = 15)
    @ApiModelProperty(value = "1-个人 2-企业", required = true, position = 10)
	private Integer type;
	/**用户id*/
	@Excel(name = "用户id", width = 15)
    @ApiModelProperty(value = "用户id", required = true, position = 20)
	private String userId;
	/**店铺名称*/
	@Excel(name = "店铺名称", width = 15)
    @ApiModelProperty(value = "店铺名称", required = true, position = 30)
	private String title;
	/**门头照*/
	@Excel(name = "门头照", width = 15)
    @ApiModelProperty(value = "门头照", required = true, position = 40)
	private String mainImage;
	/**店铺logo*/
	@Excel(name = "店铺logo", width = 15)
    @ApiModelProperty(value = "店铺logo", required = true, position = 50)
	private String logoImage;
	/**店内图片*/
	@Excel(name = "店内图片", width = 15)
    @ApiModelProperty(value = "店内图片", required = true, position = 60)
	private String insideImages;
	/**开店时间*/
	@Excel(name = "开店时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "开店时间", required = true, position = 70)
	private Date openDate;
	/**行业id*/
	@Excel(name = "行业id", width = 15)
    @ApiModelProperty(value = "行业id", required = true, position = 80)
	private String industryId;

	@ApiModelProperty(value = "店铺所在省")
	private String province;

	@ApiModelProperty(value = "店铺所在省编码")
	private String provinceCode;

	@ApiModelProperty(value = "店铺所在城市")
	private String city;

	@ApiModelProperty(value = "店铺所在城市编码")
	private String cityCode;

	@ApiModelProperty(value = "店铺所在区/县")
	private String district;

	@ApiModelProperty(value = "店铺所在区/县编码")
	private String districtCode;

	/**店铺地址*/
	@Excel(name = "店铺地址", width = 15)
    @ApiModelProperty(value = "店铺地址", required = true, position = 90)
	private String address;
	/**经度*/
	@Excel(name = "经度", width = 15)
    @ApiModelProperty(value = "经度", required = true, position = 100)
	private String longitude;
	/**纬度*/
	@Excel(name = "纬度", width = 15)
    @ApiModelProperty(value = "纬度", required = true, position = 110)
	private String latitude;
	/**店铺联系电话*/
	@Excel(name = "店铺联系电话", width = 15)
    @ApiModelProperty(value = "店铺联系电话", required = true, position = 120)
	private String storeMobile;
	/**简介*/
	@Excel(name = "简介", width = 15)
    @ApiModelProperty(value = "简介", required = true, position = 130)
	private String intro;
	/**公司名称*/
	@Excel(name = "公司名称", width = 15)
    @ApiModelProperty(value = "公司名称", required = true, position = 140)
	private String companyName;
	/**公司介绍*/
	@Excel(name = "公司介绍", width = 15)
    @ApiModelProperty(value = "公司介绍", required = true, position = 150)
	private String companyIntro;
	/**行业名称*/
	@Excel(name = "行业名称", width = 15)
    @ApiModelProperty(value = "行业名称", required = true, position = 160)
	private String industryName;
	/**营业执照*/
	@Excel(name = "营业执照", width = 15)
    @ApiModelProperty(value = "营业执照", required = true, position = 170)
	private String licenseImage;
	/**营业执照编号*/
	@Excel(name = "营业执照编号", width = 15)
    @ApiModelProperty(value = "营业执照编号", required = true, position = 180)
	private String licenseNumber;
	/**营业执照类型 1-长期 2-非长期*/
	@Excel(name = "营业执照类型 1-长期 2-非长期", width = 15)
    @ApiModelProperty(value = "营业执照类型 1-长期 2-非长期", required = true, position = 190)
	private Integer licenseType;
	/**营业执照生效时间*/
	@Excel(name = "营业执照生效时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照生效时间", required = true, position = 200)
	private Date licenseStartDate;
	/**营业执照失效时间*/
	@Excel(name = "营业执照失效时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照失效时间", required = true, position = 210)
	private Date licenseEndDate;
	/**成立时间*/
	@Excel(name = "成立时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "成立时间", required = true, position = 220)
	private Date foundDate;
	/**公司注册地/商户市区*/
	@Excel(name = "公司注册地/商户市区", width = 15)
    @ApiModelProperty(value = "公司注册地/商户市区", required = true, position = 230)
	private String registerAddress;
	/**公司所在地/商户详细地址*/
	@Excel(name = "公司所在地/商户详细地址", width = 15)
    @ApiModelProperty(value = "公司所在地/商户详细地址", required = true, position = 240)
	private String companyAddress;
	/**法人名称*/
	@Excel(name = "法人名称", width = 15)
    @ApiModelProperty(value = "法人名称", required = true, position = 250)
	private String legalPerson;
	/**身份证号*/
	@Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号", required = true, position = 260)
	private String idCard;
	/**身份证类型 1-长期 2-非长期*/
	@Excel(name = "身份证类型 1-长期 2-非长期", width = 15)
    @ApiModelProperty(value = "身份证类型 1-长期 2-非长期", required = true, position = 270)
	private Integer idCardType;
	/**身份证生效时间*/
	@Excel(name = "身份证生效时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "身份证生效时间", required = true, position = 280)
	private Date idCardStartDate;
	/**身份证失效时间*/
	@Excel(name = "身份证失效时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty(value = "身份证失效时间", required = true, position = 290)
	private Date idCardEndDate;
	/**身份证正面*/
	@Excel(name = "身份证正面", width = 15)
    @ApiModelProperty(value = "身份证正面", required = true, position = 300)
	private String idCardFrontImage;
	/**身份证反面*/
	@Excel(name = "身份证反面", width = 15)
    @ApiModelProperty(value = "身份证反面", required = true, position = 310)
	private String idCardBackImage;
	/**联系电话*/
	@Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话", required = true, position = 320)
	private String mobile;
	/**邮箱号*/
	@Excel(name = "邮箱号", width = 15)
    @ApiModelProperty(value = "邮箱号", required = true, position = 330)
	private String email;
	/**内景照片*/
	@Excel(name = "内景照片", width = 15)
    @ApiModelProperty(value = "内景照片", required = true, position = 340)
	private String interiorImage;
	/**前台照片*/
	@Excel(name = "前台照片", width = 15)
    @ApiModelProperty(value = "前台照片", required = true, position = 350)
	private String receptionImage;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间", required = true, position = 360)
	private Date createTime;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间", required = true, position = 370)
	private Date updateTime;
	/**状态 0-待审核 1-审核通过 2-驳回*/
	@Excel(name = "状态 0-待审核 1-审核通过 2-驳回", width = 15)
    @ApiModelProperty(value = "状态 0-待审核 1-审核通过 2-驳回", required = true, position = 380)
	private Integer status;

	@ApiModelProperty(value = "商户id")
	private String storeId;
}
